package tencent;

import java.util.Arrays;
import java.util.Scanner;

/**
 * @author habitplus
 * @since 2021-08-22 19:51
 */
public class T20210822N2 {
    // 现在有 n 个魔法球，他可以从魔法球中获取魔法能量，一旦使用某个魔法球，这个魔法球将消失，
    // 并且他将获得这个魔法球中的全部能量 a[i]，并且未被使用的每个魔法球的能量各增加a[i]。
    // 可以以任意顺序使用魔法球，求使用所有魔法球后能够得到的能量最大值。
    private static final int MOD = 1000000007;

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        int t = in.nextInt();
        int n;
        T20210822N2 test = new T20210822N2();
        for (int i = 0; i < t; i++) {
            n = in.nextInt();
            int[] a = new int[n];

            for (int j = 0; j < n; j++) {
                a[j] = in.nextInt();
            }
            System.out.println(test.fun(a));
        }
    }

    public int fun(int[] a) {
        if (a == null || a.length == 0) {
            return 0;
        }

        Arrays.sort(a);
        int add = 0;
        int ans = 0;
        int t;
        for (int i = a.length - 1; i >= 0; i--) {
            t = (a[i] + add) % MOD;
            ans = (ans + t) % MOD;
            add = (add + t) % MOD;
        }

        return ans;
    }
}
